function valueType(value) {
    let type = {
        '[object Array]': 'Array',
        '[object Fuction]': 'Fuction',
        '[object Object]': 'Object',
        '[object RegExp]': 'RegExp',
        '[object Number]': 'Number',
        '[object String]': 'String',
        '[object Boolean]': 'Boolean',
        '[object Null]': 'Null',
        '[object Undefined]': 'Undefined',
        '[object JSON]': 'JSON'
    };

    function tostring(val) {
        return Object.prototype.toString.call(val);
    };
    return type[tostring(value)]
}
// var isNativeJSON = window.JSON && Object.prototype.toString.call(JSON) == "[object JSON]";